#ifndef __MCELLIPSE2D_H_
#define __MCELLIPSE2D_H_

#include <MCPlaneItem.h>
#include <MCPoint2D.h>

class MCEllipse2D : public MCPlaneItem
{
public:

    MCEllipse2D();
    MCEllipse2D(MCPoint2D center, double rx, double ry);
    MCEllipse2D(const MCEllipse2D &ellipse);

    MCPlaneItemType type() override;
    void setPositionAt(const MCPoint2D &at) override;
    void move(const MCVector2 &to) override;
    void scale(double scale) override;
    void transform(const MCMatrix3 &transform) override;

    void update(const MCPoint2D &center, double rx, double ry);
    MCPoint2D center() const;
    double rx() const;
    double ry() const;

private:

    MCPoint2D _center;
    double _rx;
    double _ry;

};

#endif // !__MCELLIPSE2D_H_
